<?php

/**
 * Description of XDD_Provider
 *
 * @author prometheus
 */
class XDD_Provider extends x10_Provider
{
	public $xName = 'Bővíthető adatmegjelenítés szolgáltató';

	public $data = array();

	public $contentType = '';

	public function __construct(x10_Config $config=NULL)
	{
		parent::__construct($config);

		$siteInfo = new x10_Config(
			'cfg://site',
			NULL,
			TRUE
		);
		if ($siteInfo->hasSettings())
		{
			$data = array(
				'data'	=> array(
					'x10Site' => $siteInfo->getConfig()
				)
			);
			$this->config->override($data);
		}
	}

	/**
	 * Inicializálja a megjelenítőt.
	 * Meghívása ajánlott minden {@link #get get()} hívás előtt, de legalább
	 * egyszer.
	 */
	public function init()
	{
		
	}

	/**
	 * @param mixed $key
	 * @param mixed $value
	 * @return XDD_Provider
	 */
	public function setKey($key, $value)
	{
		$this->data[$key] = $value;
		return $this;
	}

	/**
	 * @param mixed $key
	 * @return mixed
	 */
	public function getKey($key)
	{
		return (isset($this->data[$key])? $this->data[$key] : NULL);
	}

	public function get()
	{
		return $this->data;
	}

	/**
	 * @param Array $data
	 * @return XDD_Provider
	 */
	public function setData($data)
	{
		$this->data = $data;
		$this->applyData();
		return $this;
	}

	/**
	 * A meglévő adatokból felülírja azokat, amelyek a paraméterben szerepelnek.
	 * @param Array $data
	 */
	public function overrideData($data)
	{
		if (!is_array($data)) return;
		$this->data = array_merge_recursive($this->data, $data);
		$this->applyData();
	}

	protected function applyData()
	{
		
	}
}

?>